home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!cs.utexas.edu!sun-barr!newstop!sun!grip.cis.upenn.edu
- From: bradley@grip.cis.upenn.edu (John Bradley)
- Newsgroups: comp.sources.x
- Subject: v09i100: xv, Patch1, Part01/01
- Message-ID: <143883@sun.Eng.Sun.COM>
- Date: 18 Oct 90 17:33:17 GMT
- References: <csx-09i100:xv@uunet.UU.NET>
- Sender: news@sun.Eng.Sun.COM
- Lines: 1538
- Approved: argv@sun.com
-
- Submitted-by: bradley@grip.cis.upenn.edu (John Bradley)
- Posting-number: Volume 9, Issue 100
- Archive-name: xv/patch1
- Patch-To: xv: Volume 9, Issue 76-83
-
- Minor patches to XV:
- * modifications for SYSV systems and Convex systems
-
- * a 'vprintf' module has been added to allow it to run on
- machines that don't have 'vprintf' in the standard library
- (BSD 4.3 machines),
-
- * problems with 'olwm' fixed
-
- * an Imakefile has been added
-
- * quieter compilation on paranoid compilers
-
- * an icon has been added
-
- * and, of course, some bugs have been fixed
-
- John Bradley - University of Pennsylvania - GRASP Lab
- (bradley@cis.upenn.edu)
-
-
- (apply with 'patch -p <filename')
-
- ---------------------------(cut here)-----------------------------
- *** ../xv1/README Wed Oct 17 23:26:22 1990
- --- ./README Wed Oct 17 15:03:31 1990
- ***************
- *** 1,8 ****
- Installation
- ------------
- ! Check the Makefile for the configuration option(s). 'make'. Enjoy.
-
-
- Caveats
- -------
-
- --- 1,13 ----
- Installation
- ------------
- ! If you don't plan to use Imake, copy 'Makefile.std' (a regular old-style
- ! minimalist makefile, not one created by Imake) to 'Makefile'.
-
- + Check the Makefile for the configuration option(s). Make it.
-
- + Otherwise, check the Imakefile, and make the program however you normally
- + would.
- +
- Caveats
- -------
-
- ***************
- *** 26,34 ****
- Provided you don't have some odd-ball 5-bit StaticColor display, it should
- work for you.
-
- ! One note: on some machines, the function 'vsprintf' (a VARARGS sprintf())
- ! doesn't exist. You won't be able to compile on these machines. They are
- ! wrong.
-
-
- Bizarrities
- --- 31,38 ----
- Provided you don't have some odd-ball 5-bit StaticColor display, it should
- work for you.
-
- ! 'vsprintf.c' has been included for the benefit of those on machines that
- ! don't have it. (IBM RT AOS 4.3 and BSD 4.3 on VAX)
-
-
- Bizarrities
-
- *** ../xv1/bggen.c Wed Oct 17 23:26:01 1990
- --- ./bggen.c Wed Oct 17 18:39:27 1990
- ***************
- *** 5,10 ****
- --- 5,11 ----
- * (bradley@cis.upenn.edu)
- *
- * Rev: 8/31/90
- + * Rev: 10/17/90 - added '-w' option
- */
-
- /*
- ***************
- *** 39,52 ****
- {
- int i,j,cnt,numcols;
- int high = DEFSIZE;
- int bits = 8;
- int r, g, b;
- - int bandsize;
-
- cnt = 0; numcols = 0;
- for (i=1; i<argc; i++) {
- if (!strcmp(argv[i],"-s")) high = atoi(argv[++i]);
-
- else if (!strcmp(argv[i],"-b")) bits = atoi(argv[++i]);
-
- else if (argv[i][0]=='-') break; /* any other '-' option is
- unknown */
- --- 40,55 ----
- {
- int i,j,cnt,numcols;
- int high = DEFSIZE;
- + int wide = 1;
- int bits = 8;
- int r, g, b;
-
- cnt = 0; numcols = 0;
- for (i=1; i<argc; i++) {
- if (!strcmp(argv[i],"-s")) high = atoi(argv[++i]);
-
- + else if (!strcmp(argv[i],"-w")) wide = atoi(argv[++i]);
- +
- else if (!strcmp(argv[i],"-b")) bits = atoi(argv[++i]);
-
- else if (argv[i][0]=='-') break; /* any other '-' option is
- unknown */
- ***************
- *** 68,78 ****
-
-
- if (cnt || numcols==0 || high<1 || bits<1 || bits>8) {
- ! fprintf(stderr,"usage: %s [-s size] [-b bits] r1 g1 b1 [r2 g2 b2
- ...]\n\n"
- ! ,argv[0]);
- ! fprintf(stderr,"\tThis will generate a 1xSIZE vertical color band.\n");
- ! fprintf(stderr,"\t(SIZE defaults to %d.) To set your background\n",
- ! DEFSIZE);
- fprintf(stderr,"\t'bits' is the number of significant bits in the\n");
- fprintf(stderr,"\tcolor specifications. (1-8)\n");
- fprintf(stderr,"\tpipe the resulting output into this cmd:\n");
- --- 71,80 ----
-
-
- if (cnt || numcols==0 || high<1 || bits<1 || bits>8) {
- ! fprintf(stderr,"usage: %s [-s size] [-w width] [-b bits] %s\n\n",
- ! argv[0], "r1 g1 b1 [r2 g2 b2 ...]");
- ! fprintf(stderr,"\tThis will generate a WIDTHxSIZE vertical color
- band.\n");
- ! fprintf(stderr,"\t(Default: 1x%d) To set your background\n",DEFSIZE);
- fprintf(stderr,"\t'bits' is the number of significant bits in the\n");
- fprintf(stderr,"\tcolor specifications. (1-8)\n");
- fprintf(stderr,"\tpipe the resulting output into this cmd:\n");
- ***************
- *** 80,91 ****
- exit(1);
- }
-
- ! printf("P3 1 %d 255\n",high);
-
- /* special case code for numcols==1 */
-
- if (numcols==1) {
- ! for (i=0; i<high; i++) printf("%d %d
- %d\n",cols[0].r,cols[0].g,cols[0].b);
- }
- else {
-
- --- 82,95 ----
- exit(1);
- }
-
- ! printf("P3 %d %d 255\n",wide,high);
-
- /* special case code for numcols==1 */
-
- if (numcols==1) {
- ! for (i=0; i<high; i++)
- ! for (j=0; j<wide; j++)
- ! printf("%d %d %d\n",cols[0].r,cols[0].g,cols[0].b);
- }
- else {
-
- ***************
- *** 107,115 ****
- g = g & bmask[bits-1];
- b = b & bmask[bits-1];
-
- ! printf("%d %d %d\n",r,g,b);
- }
- }
- }
-
-
- --- 111,122 ----
- g = g & bmask[bits-1];
- b = b & bmask[bits-1];
-
- ! for (j=0; j<wide; j++)
- ! printf("%d %d %d\n",r,g,b);
- }
- }
- }
- +
- +
-
-
- *** ../xv1/xv.c Wed Oct 17 23:25:56 1990
- --- ./xv.c Wed Oct 17 19:35:52 1990
- ***************
- *** 26,31 ****
- --- 26,32 ----
- #define NEEDSDIR /* for value of MAXPATHLEN */
-
- #include "xv.h"
- + #include "bitmaps.h"
-
- #include <X11/Xatom.h>
-
- ***************
- *** 87,94 ****
- static void TrackPicValues();
- static void MakeDispNames();
- static int Rect();
- ! static int CheckForConfig();
- ! static Bool IsConfig();
- static void SaveRootInfo();
- static void KillOldRootInfo();
- static int rd_int();
- --- 88,95 ----
- static void TrackPicValues();
- static void MakeDispNames();
- static int Rect();
- ! /* static int CheckForConfig();
- ! static Bool IsConfig(); */
- static void SaveRootInfo();
- static void KillOldRootInfo();
- static int rd_int();
- ***************
- *** 114,120 ****
- --- 115,125 ----
- /*** Variable Initialization ***/
- /*****************************************************/
-
- + #ifdef SYSV
- + getcwd(initpath, sizeof(initpath));
- + #else
- getwd(initpath);
- + #endif
-
- /* init internal variables */
- display = fname = whitestr = blackstr = NULL;
- ***************
- *** 450,455 ****
- --- 455,462 ----
- mono = 1;
- }
-
- + iconPix = XCreatePixmapFromBitmapData(theDisp, rootW, icon_bits,
- + icon_width, icon_height, 1, 0, 1);
-
- /* try to load fonts */
- if ( (mfinfo = XLoadQueryFont(theDisp,FONT1))==NULL &&
- ***************
- *** 480,485 ****
- --- 487,493 ----
- if (dispDEEP>1) ncols = 1<<dispDEEP;
- else ncols = 0;
- }
- + else if (ncols>256) ncols = 256; /* so program doesn't blow up */
-
- if (numnames==0) { /* no filenames. build one-name (stdio) list */
- namelist[0] = STDINSTR;
- ***************
- *** 534,539 ****
- --- 542,548 ----
- /* Do The Thing... */
- MainLoop();
- Quit(0);
- + return(0);
- }
-
-
- ***************
- *** 1059,1068 ****
- i=ClickCtrl(but_event->x, but_event->y);
- if (i>=0) {
- switch (i) {
- ! case BNEXT: retval=NEXTPIC; done=1; break;
- ! case BPREV: retval=PREVPIC; done=1; break;
- case BSAVE: DirBox(1); break;
- ! case BQUIT: retval=QUIT; done=1; break;
-
- case BCROP: DoCrop(); break;
- case BUNCROP: UnCrop(); break;
- --- 1068,1077 ----
- i=ClickCtrl(but_event->x, but_event->y);
- if (i>=0) {
- switch (i) {
- ! case BNEXT: retval= NEXTPIC; done=1; break;
- ! case BPREV: retval= PREVPIC; done=1; break;
- case BSAVE: DirBox(1); break;
- ! case BQUIT: retval= QUIT; done=1; break;
-
- case BCROP: DoCrop(); break;
- case BUNCROP: UnCrop(); break;
- ***************
- *** 1106,1112 ****
- if (i==S_BOPEN) SelectDir(dList.selected);
- else if (i==S_BCANC) DirBox(0);
- else if (i==S_BSAVE) DoSave();
- ! else if (i==S_BQUIT) { retval=QUIT; done=1; }
- }
-
- else if (but_event->window == dList.win) {
- --- 1115,1121 ----
- if (i==S_BOPEN) SelectDir(dList.selected);
- else if (i==S_BCANC) DirBox(0);
- else if (i==S_BSAVE) DoSave();
- ! else if (i==S_BQUIT) { retval = QUIT; done=1; }
- }
-
- else if (but_event->window == dList.win) {
- ***************
- *** 1270,1275 ****
- --- 1279,1285 ----
- XSetWindowAttributes xswa;
- unsigned int xswamask;
- XWindowAttributes xwa;
- + XWMHints xwmh;
- XSizeHints hints;
- int i,x,y;
- unsigned int w,h;
- ***************
- *** 1291,1296 ****
- --- 1301,1308 ----
- eWIDE = eWIDE / normFact;
- eHIGH = eHIGH / normFact;
- }
- + if (eWIDE < 1) eWIDE = 1;
- + if (eHIGH < 1) eHIGH = 1;
-
- if (fixedaspect && i&WidthValue && i&HeightValue)
- FixAspect(0,&eWIDE,&eHIGH);
- else if (i&WidthValue && i&HeightValue)
- ***************
- *** 1308,1313 ****
- --- 1320,1328 ----
- if (x+eWIDE > dispWIDE) x = dispWIDE - eWIDE; /* keep on screen */
- if (y+eHIGH > dispHIGH) y = dispHIGH - eHIGH;
-
- + if (eWIDE < 1) eWIDE = 1;
- + if (eHIGH < 1) eHIGH = 1;
- +
- hints.x = x; hints.y = y;
- hints.width = eWIDE; hints.height = eHIGH;
- hints.max_width = dispWIDE; hints.max_height = dispHIGH;
- ***************
- *** 1325,1331 ****
- }
-
- if (!mainW)
- ! mainW = XCreateWindow(theDisp,rootW,x,y,eWIDE,eHIGH,bwidth,0,
- CopyFromParent, CopyFromParent, xswamask, &xswa);
-
- sprintf(winname,"xv %s",name);
- --- 1340,1346 ----
- }
-
- if (!mainW)
- ! mainW =
- XCreateWindow(theDisp,rootW,x,y,eWIDE,eHIGH,bwidth,CopyFromParent,
- CopyFromParent, CopyFromParent, xswamask, &xswa);
-
- sprintf(winname,"xv %s",name);
- ***************
- *** 1333,1338 ****
- --- 1348,1358 ----
- XSetStandardProperties(theDisp,mainW,winname,iconname,None,
- NULL,0,&hints);
-
- + xwmh.input = True;
- + xwmh.flags = InputHint;
- + if (iconPix) { xwmh.icon_pixmap = iconPix; xwmh.flags |= IconPixmapHint; }
- + XSetWMHints(theDisp, mainW, &xwmh);
- +
- if (!mainW) FatalError("can't create window!");
- }
-
- ***************
- *** 1383,1388 ****
- --- 1403,1411 ----
- *h = dispHIGH;
- *w = (int) (*w / a + .5);
- }
- +
- + if (*w < 1) *w = 1;
- + if (*h < 1) *h = 1;
- }
-
-
- ***************
- *** 1547,1553 ****
- XWindowAttributes *xwa;
- {
- /* sets window x,y,w,h values */
- ! XSizeHints xsh;
- Window root, parent, *children, child;
- unsigned int nchildren;
- XWindowAttributes pxwa;
- --- 1570,1576 ----
- XWindowAttributes *xwa;
- {
- /* sets window x,y,w,h values */
- ! /* XSizeHints xsh; */
- Window root, parent, *children, child;
- unsigned int nchildren;
- XWindowAttributes pxwa;
- ***************
- *** 1727,1733 ****
- int mx,my;
- {
- Window rW,cW;
- ! int rx,ry,ox,oy,x,y,active;
- unsigned int mask;
- int ty, w;
- char foo[40];
- --- 1750,1756 ----
- int mx,my;
- {
- Window rW,cW;
- ! int rx,ry,ox,oy,x,y;
- unsigned int mask;
- int ty, w;
- char foo[40];
- ***************
- *** 1835,1841 ****
- }
-
-
- !
- /***********************************/
- static int CheckForConfig()
- {
- --- 1858,1864 ----
- }
-
-
- ! #ifdef FOOBAR
- /***********************************/
- static int CheckForConfig()
- {
- ***************
- *** 1864,1870 ****
- }
- return False;
- }
- !
-
- /***********************************/
- void MakeRootPic()
- --- 1887,1893 ----
- }
- return False;
- }
- ! #endif
-
- /***********************************/
- void MakeRootPic()
-
- *** ../xv1/xv.h Wed Oct 17 23:25:56 1990
- --- ./xv.h Wed Oct 17 14:57:57 1990
- ***************
- *** 16,34 ****
- * This software is provided "as is" without any express or implied warranty.
- */
-
- ! #define REVDATE "Rev: 10/9/90"
-
-
- /* include files */
- #include <stdio.h>
- #include <math.h>
- #include <ctype.h>
- #include <string.h>
- - #include <memory.h> /* for 'memset()' prototype */
- extern int errno; /* this SHOULD be in errno.h */
- extern char *sys_errlist[]; /* this SHOULD be in errno.h */
-
-
- #include <X11/Xos.h>
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- --- 16,47 ----
- * This software is provided "as is" without any express or implied warranty.
- */
-
- ! #define REVDATE "Rev: 10/17/90"
-
- + #ifdef SVR4
- + #define DIRENT /* SysV release 4 uses dirent */
- + #endif
-
- +
- /* include files */
- #include <stdio.h>
- #include <math.h>
- #include <ctype.h>
- #include <string.h>
- extern int errno; /* this SHOULD be in errno.h */
- extern char *sys_errlist[]; /* this SHOULD be in errno.h */
-
- + #ifndef __convexc__ /* Convex doesn't have <memory.h> */
- + #include <memory.h> /* for 'memset()' prototype */
- + #endif
-
- + /* neither IBM AOS 4.3, Convex, nor BSD 4.3 on VAX have <malloc.h> */
- + #if !defined(ibm032) && !defined(__convexc__) && \
- + !(defined(vax) && !defined(ultrix))
- + #include <malloc.h>
- + #endif
- +
- +
- #include <X11/Xos.h>
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- ***************
- *** 35,46 ****
- #include <X11/cursorfont.h>
- #include <X11/keysym.h>
-
- ! #ifndef ibm032 /* IBM RT 4.3 doesn't have malloc.h */
- ! #include <malloc.h>
- #endif
-
- #ifdef NEEDSTIME
- - #include <sys/types.h>
- #include <sys/timeb.h>
- #include <signal.h>
- #ifndef sigmask
- --- 48,59 ----
- #include <X11/cursorfont.h>
- #include <X11/keysym.h>
-
- !
- ! #if defined(NEEDSTIME) || defined(NEEDSDIR)
- ! #include <sys/types.h> /* only include <sys/types.h> once */
- #endif
-
- #ifdef NEEDSTIME
- #include <sys/timeb.h>
- #include <signal.h>
- #ifndef sigmask
- ***************
- *** 49,55 ****
- #endif
-
- #ifdef NEEDSDIR
- - #include <sys/types.h>
- #include <sys/dir.h>
- #include <sys/param.h>
- #include <sys/stat.h>
- --- 62,67 ----
- ***************
- *** 259,264 ****
- --- 271,277 ----
- WHERE XFontStruct *mfinfo, *monofinfo;
- WHERE Visual *theVisual;
- WHERE Cursor arrow, cross;
- + WHERE Pixmap iconPix;
-
- /* global vars used by LOAD routines */
- WHERE byte *pic; /* ptr to loaded picture */
-
- *** ../xv1/xv24to8.c Wed Oct 17 23:25:57 1990
- --- ./xv24to8.c Wed Oct 17 18:22:37 1990
- ***************
- *** 912,924 ****
- indicies (in pic) */
-
- unsigned long colors[256],col;
- ! int i, nc, low, high, mid, k;
- byte *p, *pix;
-
- if (maxcol>256) maxcol = 256;
-
- /* put the first color in the table by hand */
- ! nc = 0;
-
- for (i=w*h,p=pic24; i; i--) {
- col = (*p++ << 16);
- --- 912,924 ----
- indicies (in pic) */
-
- unsigned long colors[256],col;
- ! int i, nc, low, high, mid;
- byte *p, *pix;
-
- if (maxcol>256) maxcol = 256;
-
- /* put the first color in the table by hand */
- ! nc = 0; mid = 0;
-
- for (i=w*h,p=pic24; i; i--) {
- col = (*p++ << 16);
- ***************
- *** 937,946 ****
- if (high < low) { /* didn't find color in list, add it. */
- /* WARNING: this is an overlapped memory copy. memcpy doesn't do
- it correctly, hence 'bcopy', which claims to */
- bcopy(&colors[low], &colors[low+1], (nc - low) * sizeof(unsigned
- long));
- colors[low] = col;
- nc++;
- - if (nc>maxcol) return 0;
- }
- }
-
- --- 937,946 ----
- if (high < low) { /* didn't find color in list, add it. */
- /* WARNING: this is an overlapped memory copy. memcpy doesn't do
- it correctly, hence 'bcopy', which claims to */
- + if (nc>=maxcol) return 0;
- bcopy(&colors[low], &colors[low+1], (nc - low) * sizeof(unsigned
- long));
- colors[low] = col;
- nc++;
- }
- }
-
- *** ../xv1/xvdir.c Wed Oct 17 23:25:59 1990
- --- ./xvdir.c Wed Oct 17 18:25:46 1990
- ***************
- *** 336,342 ****
- --- 336,346 ----
-
- numdirnames = 0;
-
- + #ifdef SYSV
- + getcwd(path, sizeof(path));
- + #else
- getwd(path);
- + #endif
- if (path[strlen(path)-1] != '/')
- strcat(path,"/"); /* tack on a trailing '/' to make path consistent */
-
- ***************
- *** 365,371 ****
- --- 369,379 ----
- /* skip over '.' and '..' */
- }
- else {
- + #ifdef DIRENT
- + dirnames[i] = (char *) malloc(strlen(dp->d_name) + 3);
- + #else
- dirnames[i] = (char *) malloc(dp->d_namlen + 2); /* +2=filetype
- + '\0'*/
- + #endif
- if (!dirnames[i]) FatalError("malloc error while reading directory");
- strcpy(dirnames[i]+1, dp->d_name);
-
- ***************
- *** 374,382 ****
-
- if (lstat(dirnames[i]+1, &st)==0) {
- ftype = st.st_mode & S_IFMT; /* mask off uninteresting bits */
- ! if (ftype == S_IFIFO) dirnames[i][0] = C_FIFO;
- else if (ftype == S_IFCHR) dirnames[i][0] = C_CHR;
- - else if (ftype == S_IFDIR) dirnames[i][0] = C_DIR;
- else if (ftype == S_IFBLK) dirnames[i][0] = C_BLK;
- else if (ftype == S_IFLNK) dirnames[i][0] = C_LNK;
- else if (ftype == S_IFSOCK) dirnames[i][0] = C_SOCK;
- --- 382,392 ----
-
- if (lstat(dirnames[i]+1, &st)==0) {
- ftype = st.st_mode & S_IFMT; /* mask off uninteresting bits */
- ! if (ftype == S_IFDIR) dirnames[i][0] = C_DIR;
- ! #ifdef S_IFIFO
- ! else if (ftype == S_IFIFO) dirnames[i][0] = C_FIFO;
- ! #endif
- else if (ftype == S_IFCHR) dirnames[i][0] = C_CHR;
- else if (ftype == S_IFBLK) dirnames[i][0] = C_BLK;
- else if (ftype == S_IFLNK) dirnames[i][0] = C_LNK;
- else if (ftype == S_IFSOCK) dirnames[i][0] = C_SOCK;
- ***************
- *** 534,540 ****
- GammifyColors();
- }
-
- !
- i = RBWhich(formatRB);
- switch (i) {
- case 0: rv = WriteGIF(fp,thepic,w, h, r, g, b, numcols, RBWhich(colorRB));
- --- 544,550 ----
- GammifyColors();
- }
-
- ! rv = 0;
- i = RBWhich(formatRB);
- switch (i) {
- case 0: rv = WriteGIF(fp,thepic,w, h, r, g, b, numcols, RBWhich(colorRB));
-
- *** ../xv1/xvfish.c Wed Oct 17 23:26:22 1990
- --- ./xvfish.c Wed Oct 17 14:26:35 1990
- ***************
- *** 102,108 ****
- --- 102,112 ----
- if (!fish) return;
- if (!fishrunning) return;
-
- + #ifdef SVR4
- + sighold(SIGALRM);
- + #else
- sigblock(sigmask(SIGALRM));
- + #endif
- bzero(&it, sizeof(it));
- it.it_interval.tv_usec = 0L;
- it.it_value.tv_usec = 0L;
- ***************
- *** 109,115 ****
- --- 113,123 ----
-
- setitimer(ITIMER_REAL, &it, (struct itimerval *)0);
- signal(SIGALRM,SIG_DFL);
- + #ifdef SVR4
- + sigrelse(SIGALRM);
- + #else
- sigblock(0);
- + #endif
- fishrunning = 0;
- }
-
- ***************
- *** 159,165 ****
- --- 167,177 ----
- it.it_value.tv_usec = DELAY;
-
- signal(SIGALRM,dofish);
- + #ifdef SVR4
- + sigrelse(SIGALRM);
- + #else
- sigsetmask(0);
- + #endif
- setitimer(ITIMER_REAL, &it, (struct itimerval *)0);
- }
-
-
- *** ../xv1/xvgam.c Wed Oct 17 23:25:59 1990
- --- ./xvgam.c Wed Oct 17 18:39:01 1990
- ***************
- *** 254,260 ****
- /* called when we've gotten a click inside graph window */
-
- Window rW, cW;
- ! int x, y, rx, ry, rval;
- unsigned int mask;
- int h, vertonly, offx, offy;
-
- --- 254,260 ----
- /* called when we've gotten a click inside graph window */
-
- Window rW, cW;
- ! int x, y, rx, ry;
- unsigned int mask;
- int h, vertonly, offx, offy;
-
- ***************
- *** 377,383 ****
- to map to white (255) (roughly). Values between 50 and 200 will cover
- the output range 0-255. The reponse curve will be slightly 's'
- shaped. */
-
- ! int i,j,k;
- static int x[4] = {0,32,224,255};
- static int y[4] = {0, 0,255,255};
- float yf[4];
- --- 377,383 ----
- to map to white (255) (roughly). Values between 50 and 200 will cover
- the output range 0-255. The reponse curve will be slightly 's'
- shaped. */
-
- ! int i,j;
- static int x[4] = {0,32,224,255};
- static int y[4] = {0, 0,255,255};
- float yf[4];
- ***************
- *** 455,461 ****
- {
- int i,p, app;
-
- ! app = 1;
-
- switch (cmd) {
- case G_BAPPLY: DoGammaApply(1); app = 0; break;
- --- 455,461 ----
- {
- int i,p, app;
-
- ! app = 1; p=0;
-
- switch (cmd) {
- case G_BAPPLY: DoGammaApply(1); app = 0; break;
- ***************
- *** 696,703 ****
- if (max != 0.0) s = (del) / max;
- else s = 0.0;
-
- ! if (s == 0.0) h = NOHUE;
- ! else {
- rc = (max - rd) / del;
- gc = (max - gd) / del;
- bc = (max - bd) / del;
- --- 696,703 ----
- if (max != 0.0) s = (del) / max;
- else s = 0.0;
-
- ! h = NOHUE;
- ! if (s != 0.0) {
- rc = (max - rd) / del;
- gc = (max - gd) / del;
- bc = (max - bd) / del;
-
- *** ../xv1/xvmisc.c Wed Oct 17 23:25:58 1990
- --- ./xvmisc.c Wed Oct 17 18:19:15 1990
- ***************
- *** 62,67 ****
- --- 62,68 ----
- Window win;
- XSetWindowAttributes xswa;
- unsigned int xswamask;
- + XWMHints xwmh;
- XSizeHints hints;
- int i,x,y;
-
- ***************
- *** 88,98 ****
- xswamask = CWBackPixel | CWBorderPixel;
-
- win = XCreateWindow(theDisp, rootW, x, y, w, h,
- ! bwidth, 0, CopyFromParent,
- CopyFromParent, xswamask, &xswa);
- if (!win) return(win); /* leave immediately if couldn't create */
-
- XSetStandardProperties(theDisp, win, name, name, None, NULL, 0, &hints);
- return(win);
- }
-
- --- 89,105 ----
- xswamask = CWBackPixel | CWBorderPixel;
-
- win = XCreateWindow(theDisp, rootW, x, y, w, h,
- ! bwidth, CopyFromParent, CopyFromParent,
- CopyFromParent, xswamask, &xswa);
- if (!win) return(win); /* leave immediately if couldn't create */
-
- XSetStandardProperties(theDisp, win, name, name, None, NULL, 0, &hints);
- +
- + xwmh.input = True;
- + xwmh.flags = InputHint;
- + if (iconPix) { xwmh.icon_pixmap = iconPix; xwmh.flags |= IconPixmapHint; }
- + XSetWMHints(theDisp, win, &xwmh);
- +
- return(win);
- }
-
- ***************
- *** 1377,1382 ****
- --- 1384,1390 ----
- {
- Cursor c;
-
- + c = cross;
- /* if n < 0 sets normal cursor in all windows
- n = 0..6 cycles through fish cursors */
-
- ***************
- *** 1450,1461 ****
- --- 1458,1477 ----
- signal(SIGALRM,onalarm);
- setitimer(ITIMER_REAL, &it, (struct itimerval *)0);
- while (1) {
- + #ifdef SVR4
- + sighold(SIGALRM);
- + #else
- sigblock(sigmask(SIGALRM)); /* note: have to block, so that ALRM */
- + #endif
- if (timerdone) break; /* doesn't occur between 'if (timerdone)' */
- else sigpause(0); /* and calling sigpause(0) */
- }
-
- + #ifdef SVR4
- + sigrelse(SIGALRM);
- + #else
- sigblock(0); /* turn ALRM blocking off */
- + #endif
- signal(SIGALRM,SIG_DFL);
- }
-
-
- *** ../xv1/xvpbm.c Wed Oct 17 23:26:22 1990
- --- ./xvpbm.c Wed Oct 17 20:29:09 1990
- ***************
- *** 54,60 ****
- int c, c1;
- int w, h, maxv, rv;
-
- ! garbage = 0;
-
- /* open the stream, if necesary */
- fp=fopen(fname,"r");
- --- 54,60 ----
- int c, c1;
- int w, h, maxv, rv;
-
- ! garbage = maxv = 0;
-
- /* open the stream, if necesary */
- fp=fopen(fname,"r");
- ***************
- *** 107,113 ****
- int w,h,raw;
- {
- byte *pix;
- ! int i,j,k,bit;
-
-
- SetISTR(ISTR_FORMAT,"PBM, %s format. (%ld bytes)",
- --- 107,113 ----
- int w,h,raw;
- {
- byte *pix;
- ! int i,j,bit;
-
-
- SetISTR(ISTR_FORMAT,"PBM, %s format. (%ld bytes)",
- ***************
- *** 138,144 ****
-
-
- else { /* read raw bits */
- ! int trunc = 0;
-
- for (i=0, pix=pic; i<h; i++)
- for (j=0,bit=0; j<w; j++, pix++, bit++) {
- --- 138,144 ----
-
-
- else { /* read raw bits */
- ! int trunc = 0, k = 0;
-
- for (i=0, pix=pic; i<h; i++)
- for (j=0,bit=0; j<w; j++, pix++, bit++) {
-
- *** ../xv1/xvxbm.c Wed Oct 17 23:26:21 1990
- --- ./xvxbm.c Wed Oct 17 18:34:33 1990
- ***************
- *** 56,61 ****
- --- 56,62 ----
- char line[256];
- byte hex[256];
-
- + k = 0;
-
- fp=fopen(fname,"r");
- if (!fp) return 1;
-
- *** ../xv1/docs/bggen.man Wed Oct 17 23:26:26 1990
- --- ./docs/bggen.man Wed Oct 17 16:44:18 1990
- ***************
- *** 2,10 ****
- .SH NAME
- bggen \- generates colored backgrounds on X11 displays
- .SH SYNTAX
- ! \fBbggen\fP [-s size] [-b bits] r1 g1 b1 [r2 g2 b2 ... rn gn bn]
- .SH DESCRIPTION
- ! \fBbggen\fP is a program that generates a 1-pixel wide by size-pixels high
- vertical stripe. The top of the stripe is in color (r1,g1,b1), and the
- bottom of the stripe is in color (rn,gn,bn). Intermediate colors are
- interpolated between these colors. If you specify more than 2 colors, the
- --- 2,10 ----
- .SH NAME
- bggen \- generates colored backgrounds on X11 displays
- .SH SYNTAX
- ! \fBbggen\fP [-w width] [-s size] [-b bits] r1 g1 b1 [r2 g2 b2 ... rn gn bn]
- .SH DESCRIPTION
- ! \fBbggen\fP is a program that generates a width-pixel wide by
- size-pixels high
- vertical stripe. The top of the stripe is in color (r1,g1,b1), and the
- bottom of the stripe is in color (rn,gn,bn). Intermediate colors are
- interpolated between these colors. If you specify more than 2 colors, the
- ***************
- *** 30,35 ****
- --- 30,39 ----
- otherwise you will get a bizarre repeating effect, that you probably didn't
- want. Note: If you specify small values of '-s', you can get some neat
- effects.
- + .PP
- + The '-w' argument has been added to improve the performance of various
- + stippling algorithms (as in XV). More information to work with, and such.
- + Try using '-w 16' on these command lines to see what is meant.
- .SH TRY THESE
- .nf
- Light Blue to Dark Blue
- ***************
- *** 52,54 ****
- --- 56,59 ----
- and also by hexadecimal value.
- .SH AUTHOR
- John Bradley - bradley@cis.upenn.edu
- +
-
- *** /dev/null Thu Oct 18 00:00:14 1990
- --- ./Imakefile Wed Oct 17 15:11:26 1990
- ***************
- *** 0 ****
- --- 1,69 ----
- + /*
- + * optimization/debugging options for your C compiler
- + * Note: If you are running on a POSIX-compatible machine, such as an
- + * IBM RS6000, you MAY need to add '-DDIRENT' to DEFINES. To
- determine
- + * if this is the case, do a 'man readdir' on your machine. If
- + * readdir() returns a pointer to 'struct direct', you will not have
- + * to change anything. If, however, readdir() returns a pointer to
- + * 'struct dirent', you will have to add the '-DDIRENT' to DEFINES
- + */
- +
- + /*
- + * Vax BSD and IBM AOS don't have vprintf or vsprintf.
- + * Note that our local library versions of sprintf have been updated
- + * to return int, the number of characters in the formatted string,
- + * whereas the versions in stock 4.3BSD do not so return. You may
- + * have to remove the "-DINTSPRINTF" below if you're compiling for
- + * stock 4.3BSD or for some other Vax or RT library package where
- + * sprintf returns char *.
- + *
- + * Also, I define NOVOID on the Vax because I'm using pcc to compile.
- + * If you use gcc or some other better compiler, this should not be
- + * necessary. I define NOSTDHDRS on the RT because we don't have
- + * standard ANSI header files installed for the RT, even though the RT
- + * compiler claims to be ANSI-compliant.
- + */
- + #if defined(VaxArchitecture) && !defined(UltrixArchitecture)
- + DEFINES= -DNEED_VPRINTF -DINTSPRINTF -DLONGINT -DNOVOID
- + #else
- + # if defined(RtArchitecture) && !defined(AIXArchitecture)
- + DEFINES= -DNEED_VPRINTF -DINTSPRINTF -DLONGINT -DNOSTDHDRS
- + # endif
- + #endif
- +
- + SYS_LIBRARIES= -lX11 -lm
- +
- + BITMAPS = bitmaps/grasp bitmaps/penn bitmaps/down bitmaps/down1 \
- + bitmaps/up bitmaps/up1 bitmaps/scrlgray bitmaps/gray50 \
- + bitmaps/gray25 bitmaps/i_fifo bitmaps/i_chr bitmaps/i_dir \
- + bitmaps/i_blk bitmaps/i_lnk bitmaps/i_sock bitmaps/i_reg \
- + bitmaps/rb_off bitmaps/rb_on bitmaps/rb_off1 bitmaps/rb_on1 \
- + bitmaps/fc_left bitmaps/fc_leftm bitmaps/fc_mid bitmaps/fc_midm \
- + bitmaps/fc_right bitmaps/fc_rightm bitmaps/fc_left1 \
- + bitmaps/fc_left1m bitmaps/fc_right1 bitmaps/fc_right1m \
- + bitmaps/icon
- +
- + SRCS1 = xv.c xv24to8.c xvbutt.c xvctrl.c xvdir.c xvfish.c xvgam.c\
- + xvgif.c xvgifwr.c xvinfo.c xvmisc.c xvpbm.c xvpm.c xvscrl.c\
- + xvxbm.c vprintf.c
- +
- + OBJS1 = xv.o xv24to8.o xvbutt.o xvctrl.o xvdir.o xvfish.o xvgam.o\
- + xvgif.o xvgifwr.o xvinfo.o xvmisc.o xvpbm.o xvpm.o xvscrl.o \
- + xvxbm.o vprintf.o
- +
- + SRCS2= bggen.c
- + OBJS2= bggen.o
- +
- + PROGRAMS= xv bggen
- +
- + ComplexProgramTarget_1(xv,,)
- + ComplexProgramTarget_2(bggen,,)
- +
- + tar:
- + tar cf xv.tar Makefile *.c *.h bitmaps docs $(MISC)
- +
- + bitmaps.h: $(BITMAPS)
- + cat $(BITMAPS) > bitmaps.h
- +
- + depend:: bitmaps.h
- +
-
- *** /dev/null Thu Oct 18 00:00:14 1990
- --- ./Makefile.std Wed Oct 17 22:54:52 1990
- ***************
- *** 0 ****
- --- 1,86 ----
- + # Makefile for xv
- + #
- +
- + # your C compiler of choice
- + CC = cc
- +
- + # optimization/debugging options for your C compiler
- + # Note: If you are running on a POSIX-compatible machine, such as an
- + # IBM RS6000, you MAY need to add '-DDIRENT' to CFLAGS. To determine
- + # if this is the case, do a 'man readdir' on your machine. If
- + # readdir() returns a pointer to 'struct direct', you will not have
- + # to change anything. If, however, readdir() returns a pointer to
- + # 'struct dirent', you will have to add the '-DDIRENT' to CFLAGS
- +
- + # IF YOUR MACHINE DOESN'T HAVE 'vprintf()' OR 'vsprintf()'
- + #
- + # Vax BSD and IBM AOS don't have vprintf or vsprintf.
- + # Note that our local library versions of sprintf have been updated
- + # to return int, the number of characters in the formatted string,
- + # whereas the versions in stock 4.3BSD do not so return. You may
- + # have to remove the "-DINTSPRINTF" below if you're compiling for
- + # stock 4.3BSD or for some other Vax or RT library package where
- + # sprintf returns char *.
- + #
- + # Also, I define NOVOID on the Vax because I'm using pcc to compile.
- + # If you use gcc or some other better compiler, this should not be
- + # necessary. I define NOSTDHDRS on the RT because we don't have
- + # standard ANSI header files installed for the RT, even though the RT
- + # compiler claims to be ANSI-compliant.
- + #
- + # (for BSD 4.3 VAX, add the following to CFLAGS)
- + # -DNEED_VPRINTF -DINTSPRINTF -DLONGINT -DNOVOID
- + # (for (stock) IBM RT AOS 4.3, add the following to CFLAGS)
- + # -DNEED_VPRINTF -DLONGINT -DNOSTDHDRS
- +
- + CFLAGS = -O
- +
- +
- + LIBS = -lX11 -lm
- +
- + BITMAPS = bitmaps/grasp bitmaps/penn bitmaps/down bitmaps/down1 \
- + bitmaps/up bitmaps/up1 bitmaps/scrlgray bitmaps/gray50 \
- + bitmaps/gray25 bitmaps/i_fifo bitmaps/i_chr bitmaps/i_dir \
- + bitmaps/i_blk bitmaps/i_lnk bitmaps/i_sock bitmaps/i_reg \
- + bitmaps/rb_off bitmaps/rb_on bitmaps/rb_off1 bitmaps/rb_on1 \
- + bitmaps/fc_left bitmaps/fc_leftm bitmaps/fc_mid bitmaps/fc_midm \
- + bitmaps/fc_right bitmaps/fc_rightm bitmaps/fc_left1 \
- + bitmaps/fc_left1m bitmaps/fc_right1 bitmaps/fc_right1m \
- + bitmaps/icon
- +
- + OBJS = xv.o xvmisc.o xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o \
- + xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvfish.o \
- + vprintf.o
- +
- + MISC = README PATCHLEVEL
- +
- + .c.o: ; $(CC) -c $(CFLAGS) -o $@ $*.c
- +
- + all: xv bggen
- +
- + xv: $(OBJS)
- + $(CC) $(CFLAGS) -o xv $(OBJS) $(LIBS)
- +
- + bggen: bggen.c
- + $(CC) $(CFLAGS) -o bggen bggen.c
- +
- + clean:
- + rm -f $(OBJS)
- +
- + tar:
- + tar cf xv.tar Makefile* Imakefile *.c *.h bitmaps docs $(MISC)
- +
- + xv.3100: bitmaps.h
- + cc -O3 *.c -o xv $(XLIB)
- +
- + $(OBJS): xv.h
- + xv.o: bitmaps.h
- + xvmisc.o: bitmaps.h
- + xvinfo.o: bitmaps.h
- + xvctrl.o: bitmaps.h
- + xvscrl.o: bitmaps.h
- + xvbutt.o: bitmaps.h
- +
- + bitmaps.h: $(BITMAPS)
- + cat $(BITMAPS) > bitmaps.h
- +
-
- *** /dev/null Thu Oct 18 00:00:14 1990
- --- ./PATCHLEVEL Wed Oct 17 23:38:43 1990
- ***************
- *** 0 ****
- --- 1,16 ----
- + Current patchlevel: 1
- +
- + Rev: 10/9/90 (patchlevel 0 - initial release)
- +
- + Rev: 10/17/90 (patchlevel 1)
- + ------------------------------
- + Imakefile added (David Elliot (dce@smsc.sony.com))
- + System V release 4 mods (David Elliot (dce@smsc.sony.com))
- + Bug in 'quick check' fixed (Arthur Olson (ado@elsie.nci.nih.gov))
- + Mods for Convex machines (Anthony Datri (datri@convex.com))
- + 'vprintf' module added (Jonathan Kamens (jik@pit-manager.mit.edu))
- + window creation bug fixed
- + added icon
- + fixed 'Input Focus' probs
- + added '-w' flag to bggen
- + various cleanups to shut up 'noisy' compilers
-
- *** /dev/null Thu Oct 18 00:00:14 1990
- --- ./vprintf.c Wed Oct 17 22:36:26 1990
- ***************
- *** 0 ****
- --- 1,306 ----
- + #ifdef NEED_VPRINTF
- +
- + #include <stdio.h>
- +
- + /* Portable vsprintf by Robert A. Larson <blarson@skat.usc.edu> */
- + /* Portable vfprintf by Robert A. Larson <blarson@skat.usc.edu> */
- +
- + /* Copyright 1989 Robert A. Larson.
- + * Distribution in any form is allowed as long as the author
- + * retains credit, changes are noted by their author and the
- + * copyright message remains intact. This program comes as-is
- + * with no warentee of fitness for any purpouse.
- + *
- + * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
- + * the ansi printf specs.
- + *
- + * Please send any bug fixes and improvments to blarson@skat.usc.edu .
- + * The use of goto is NOT a bug.
- + */
- +
- + /* Feb 7, 1989 blarson First usenet release */
- +
- + /* This code implements the vsprintf function, without relying on
- + * the existance of _doprint or other system specific code.
- + *
- + * Define NOVOID if void * is not a supported type.
- + *
- + * Two compile options are available for efficency:
- + * INTSPRINTF should be defined if sprintf is int and returns
- + * the number of chacters formated.
- + * LONGINT should be defined if sizeof(long) == sizeof(int)
- + *
- + * They only make the code smaller and faster, they need not be
- + * defined.
- + *
- + * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
- + * than int in argument passing. If this is definded, and LONGINT is not,
- + * the compiler must support the type unsingned long.
- + *
- + * Most quirks and bugs of the available sprintf fuction are duplicated,
- + * however * in the width and precision fields will work correctly
- + * even if sprintf does not support this, as will the n format.
- + *
- + * Bad format strings, or those with very long width and precision
- + * fields (including expanded * fields) will cause undesired results.
- + */
- +
- + #ifdef OSK /* os9/68k can take advantage of both */
- + #define LONGINT
- + #define INTSPRINTF
- + #endif
- +
- + /* This must be a typedef not a #define! */
- + #ifdef NOVOID
- + typedef char *pointer;
- + #else
- + typedef void *pointer;
- + #endif
- +
- + #ifdef INTSPRINTF
- + #define Sprintf(string,format,arg) (sprintf((string),(format),(arg)))
- + #else
- + #define Sprintf(string,format,arg) (\
- + sprintf((string),(format),(arg)),\
- + strlen(string)\
- + )
- + #endif
- +
- + #if defined(__STDC__) && !defined(NOSTDHDRS)
- + #include <stdarg.h>
- + #else
- + #include <varargs.h>
- + #endif
- +
- + typedef int *intp;
- +
- + int vsprintf(dest, format, args)
- + char *dest;
- + register char *format;
- + va_list args;
- + {
- + register char *dp = dest;
- + register char c;
- + register char *tp;
- + char tempfmt[64];
- + #ifndef LONGINT
- + int longflag;
- + #endif
- +
- + tempfmt[0] = '%';
- + while( (c = *format++) != 0) {
- + if(c=='%') {
- + tp = &tempfmt[1];
- + #ifndef LONGINT
- + longflag = 0;
- + #endif
- + continue_format:
- + switch(c = *format++) {
- + case 's':
- + *tp++ = c;
- + *tp = '\0';
- + dp += Sprintf(dp, tempfmt, va_arg(args, char *));
- + break;
- + case 'u':
- + case 'x':
- + case 'o':
- + case 'X':
- + #ifdef UNSIGNEDSPECIAL
- + *tp++ = c;
- + *tp = '\0';
- + #ifndef LONGINT
- + if(longflag)
- + dp += Sprintf(dp, tempfmt, va_arg(args, unsigned long));
- + else
- + #endif
- + dp += Sprintf(dp, tempfmt, va_arg(args, unsigned));
- + break;
- + #endif
- + case 'd':
- + case 'c':
- + case 'i':
- + *tp++ = c;
- + *tp = '\0';
- + #ifndef LONGINT
- + if(longflag)
- + dp += Sprintf(dp, tempfmt, va_arg(args, long));
- + else
- + #endif
- + dp += Sprintf(dp, tempfmt, va_arg(args, int));
- + break;
- + case 'f':
- + case 'e':
- + case 'E':
- + case 'g':
- + case 'G':
- + *tp++ = c;
- + *tp = '\0';
- + dp += Sprintf(dp, tempfmt, va_arg(args, double));
- + break;
- + case 'p':
- + *tp++ = c;
- + *tp = '\0';
- + dp += Sprintf(dp, tempfmt, va_arg(args, pointer));
- + break;
- + case '-':
- + case '+':
- + case '0':
- + case '1':
- + case '2':
- + case '3':
- + case '4':
- + case '5':
- + case '6':
- + case '7':
- + case '8':
- + case '9':
- + case '.':
- + case ' ':
- + case '#':
- + case 'h':
- + *tp++ = c;
- + goto continue_format;
- + case 'l':
- + #ifndef LONGINT
- + longflag = 1;
- + *tp++ = c;
- + #endif
- + goto continue_format;
- + case '*':
- + tp += Sprintf(tp, "%d", va_arg(args, int));
- + goto continue_format;
- + case 'n':
- + *va_arg(args, intp) = dp - dest;
- + break;
- + case '%':
- + default:
- + *dp++ = c;
- + break;
- + }
- + } else *dp++ = c;
- + }
- + *dp = '\0';
- + return dp - dest;
- + }
- +
- +
- + int vfprintf(dest, format, args)
- + FILE *dest;
- + register char *format;
- + va_list args;
- + {
- + register char c;
- + register char *tp;
- + register int count = 0;
- + char tempfmt[64];
- + #ifndef LONGINT
- + int longflag;
- + #endif
- +
- + tempfmt[0] = '%';
- + while(c = *format++) {
- + if(c=='%') {
- + tp = &tempfmt[1];
- + #ifndef LONGINT
- + longflag = 0;
- + #endif
- + continue_format:
- + switch(c = *format++) {
- + case 's':
- + *tp++ = c;
- + *tp = '\0';
- + count += fprintf(dest, tempfmt, va_arg(args, char *));
- + break;
- + case 'u':
- + case 'x':
- + case 'o':
- + case 'X':
- + #ifdef UNSIGNEDSPECIAL
- + *tp++ = c;
- + *tp = '\0';
- + #ifndef LONGINT
- + if(longflag)
- + count += fprintf(dest, tempfmt, va_arg(args, unsigned long));
- + else
- + #endif
- + count += fprintf(dest, tempfmt, va_arg(args, unsigned));
- + break;
- + #endif
- + case 'd':
- + case 'c':
- + case 'i':
- + *tp++ = c;
- + *tp = '\0';
- + #ifndef LONGINT
- + if(longflag)
- + count += fprintf(dest, tempfmt, va_arg(args, long));
- + else
- + #endif
- + count += fprintf(dest, tempfmt, va_arg(args, int));
- + break;
- + case 'f':
- + case 'e':
- + case 'E':
- + case 'g':
- + case 'G':
- + *tp++ = c;
- + *tp = '\0';
- + count += fprintf(dest, tempfmt, va_arg(args, double));
- + break;
- + case 'p':
- + *tp++ = c;
- + *tp = '\0';
- + count += fprintf(dest, tempfmt, va_arg(args, pointer));
- + break;
- + case '-':
- + case '+':
- + case '0':
- + case '1':
- + case '2':
- + case '3':
- + case '4':
- + case '5':
- + case '6':
- + case '7':
- + case '8':
- + case '9':
- + case '.':
- + case ' ':
- + case '#':
- + case 'h':
- + *tp++ = c;
- + goto continue_format;
- + case 'l':
- + #ifndef LONGINT
- + longflag = 1;
- + *tp++ = c;
- + #endif
- + goto continue_format;
- + case '*':
- + tp += Sprintf(tp, "%d", va_arg(args, int));
- + goto continue_format;
- + case 'n':
- + *va_arg(args, intp) = count;
- + break;
- + case '%':
- + default:
- + putc(c, dest);
- + count++;
- + break;
- + }
- + } else {
- + putc(c, dest);
- + count++;
- + }
- + }
- + return count;
- + }
- +
- + vprintf(format, args)
- + char *format;
- + va_list args;
- + {
- + return vfprintf(stdout, format, args);
- + }
- +
- + #endif
-
- *** /dev/null Thu Oct 18 00:00:14 1990
- --- ./bitmaps/icon Wed Oct 17 14:13:05 1990
- ***************
- *** 0 ****
- --- 1,18 ----
- + #define icon_width 48
- + #define icon_height 29
- + static char icon_bits[] = {
- + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- + 0x3e, 0x00, 0x7c, 0x7c, 0x00, 0x7c, 0x5c, 0x00, 0x2e, 0x5c, 0x00, 0x5c,
- + 0xb8, 0x00, 0x17, 0xb8, 0x00, 0x2e, 0x70, 0x81, 0x0b, 0xb8, 0x00, 0x2e,
- + 0x70, 0x81, 0x0b, 0x70, 0x01, 0x17, 0xe0, 0xc2, 0x05, 0x70, 0x01, 0x17,
- + 0xc0, 0xe5, 0x02, 0xe0, 0x82, 0x0b, 0x80, 0x7b, 0x01, 0xe0, 0x82, 0x0b,
- + 0x00, 0xb7, 0x00, 0xc0, 0xc5, 0x05, 0x00, 0x56, 0x00, 0xc0, 0xc5, 0x05,
- + 0x00, 0x2e, 0x00, 0x80, 0xeb, 0x02, 0x00, 0x56, 0x00, 0x80, 0xeb, 0x02,
- + 0x00, 0xb7, 0x00, 0x00, 0x77, 0x01, 0x80, 0x7b, 0x01, 0x00, 0x77, 0x01,
- + 0xc0, 0xe5, 0x02, 0x00, 0xae, 0x00, 0xe0, 0xc2, 0x05, 0x00, 0xae, 0x00,
- + 0x70, 0x81, 0x0b, 0x00, 0x5c, 0x00, 0x70, 0x81, 0x0b, 0x00, 0x5c, 0x00,
- + 0xb8, 0x00, 0x17, 0x00, 0x38, 0x00, 0x5c, 0x00, 0x2e, 0x00, 0x38, 0x00,
- + 0x3e, 0x00, 0x7c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-
-
- dan
- ----------------------------------------------------
- O'Reilly && Associates argv@sun.com / argv@ora.com
- Opinions expressed reflect those of the author only.
-